package com.ruicar.afs.cloud.common.modules.contract.enums;

import com.ruicar.afs.cloud.common.core.enums.AfsBaseEnum;
import com.ruicar.afs.cloud.common.core.enums.annotations.AfsEnum;

/**
 * @author yaorui.zhang
 * @version 1.0
 *  产品原子
 * @date 2020年7月9日 09:33:57
 */
public enum ProductAtomEnum implements AfsBaseEnum {

    /**
     * 定价类参数
     */
    @AfsEnum(key = "carType",desc = "车辆类型")
    CAR_TYPE,
    @AfsEnum(key = "carNature",desc = "车辆属性")
    CAR_NATURE,
    @AfsEnum(key = "businessType",desc = "业务类型")
    BUSINESS_TYPE,
    @AfsEnum(key = "isRiskPricing",desc = "是否风险定价")
    IS_RISK_PRICING,
    @AfsEnum(key = "isAddLoan",desc = "是否附加贷")
    IS_ADD_LOAN,
    @AfsEnum(key = "downPayRatioMin",desc = "最小首付比例")
    DOWN_PAY_RATIO_MIN,
    @AfsEnum(key = "discountType",desc = "贴息类别")
    DISCOUNT_TYPE,
    @AfsEnum(key = "loanPeriodMin",desc = "最小贷期")
    LOAN_PERIOD_MIN,
    @AfsEnum(key = "loanPeriodMax",desc = "最大贷期")
    LOAN_PERIOD_MAX,
    @AfsEnum(key = "repaymentType",desc = "还款方式")
    REPAYMENT_TYPE,
    @AfsEnum(key = "rateType",desc = "利率类型")
    RATE_TYPE,
    @AfsEnum(key = "repaymentFrequency",desc = "还款频率")
    REPAYMENT_FREQUENCY,
    @AfsEnum(key = "repricingCycle",desc = "LPR重定价周期(月)")
    REPRICING_CYCLE,

    /**
     * 贷后类参数
     */
    @AfsEnum(key = "overdueRate",desc = "逾期基数(百分比)")
    IS_OVERDUE_RATE,
    @AfsEnum(key = "isExtension",desc = "是否允许展期")
    IS_EXTENSION,
    @AfsEnum(key = "settleCost",desc = "提前结清费用比率(%)")
    SETTLE_COST,
    @AfsEnum(key = "settleLimitDays",desc = "提前结清申请日期控制(天)")
    SETTLE_LIMIT_DAYS,
    @AfsEnum(key = "settleNum",desc = "满多少期可进行提前结清申请")
    SETTLE_NUM,
    @AfsEnum(key = "isRepayChange",desc = "是否允许还款日变更")
    IS_REPAY_CHANGE,
    @AfsEnum(key = "repayChangeInitial",desc = "还款日变更是否允许首期变更")
    REPAY_CHANGE_INITIAL,
    @AfsEnum(key = "repayChangeDays",desc = "还款日变更在还款日前多少天(天)")
    REPAY_CHANGE_DAYS,
    @AfsEnum(key = "repayChangeLimitFrequency",desc = "还款日变更多少次及以上收取费(次)")
    REPAY_CHANGE_LIMIT_FREQUENCY,
    @AfsEnum(key = "repayChangeLimitCost",desc = "还款日变更n次后收取费用金额")
    REPAY_CHANGE_LIMIT_COST,

    @AfsEnum(key = "isRestructure",desc = "是否允许重构")
    IS_RESTRUCTURE,
    @AfsEnum(key = "contractLimitDays",desc = "合同激活后多少自然日内申请合同取消，针对于经销商发起申请的限制")
    CONTRACT_LIMIT_DAYS,
    @AfsEnum(key = "taxNate",desc = "税率")
    TAX_RATE,
    @AfsEnum(key = "isAssetCorrection",desc = "是否允许资产修正")
    IS_ASSET_CORRECTION,
    @AfsEnum(key = "overdueDays",desc = "超期多少天可以进行延期申请")
    OVERDUE_DAYS,
    @AfsEnum(key = "isBankCardChangeDays",desc = "身份证有效期截至多少天之前可以申请银行卡变更")
    IS_BANK_CARD_CHANGE_DAYS,
    @AfsEnum(key = "contractReprint",desc = "合同重出--审批通过后允许在多少天内下载")
    CONTRACT_REPRINT,

    //begin 计算佣金使用参数，由计算器回传
    @AfsEnum(key = "step",desc = "段数")
    STEP,
    @AfsEnum(key = "stepPercent",desc = "百分比")
    STE_PERCENT,
    @AfsEnum(key = "ballonLoanType",desc = "是否包含月供 1不包含 2包含")
    BALLON_LOAN_TYPE,
    @AfsEnum(key = "peroids",desc = "期数")
    PEROIDS,
    @AfsEnum(key = "money",desc = "金额")
    MONEY,
    @AfsEnum(key = "structuredMonth",desc = "结构化期数")
    STRUCTURED_MONTH,
    @AfsEnum(key = "structuredType",desc = "结构化类型 0前N期不还款 1前N期只还利息 2前N期还部分")
    STRUCTURED_TYPE,
    @AfsEnum(key = "structuredMoney",desc = "结构化类型 0前N期不还款 1前N期只还利息 2前N期还部分")
    STRUCTURED_MONEY,
    //end 计算佣金使用参数，由计算器回传

}
